package com.yanqu.road.entity.log;

import com.yanqu.road.entity.FieldTypeAnnotation;
import com.yanqu.road.entity.activity.deepfishing.entity.DeepFishingBagItemData;

import java.util.Date;
import java.util.List;
import java.util.Map;

@FieldTypeAnnotation(tableName = "t_l_deep_fishing_fishing", autoSave = true)
public class LogDeepFishingFishing {
    @FieldTypeAnnotation(desc = "用户ID", isIndex = true)
    private long userId;
    @FieldTypeAnnotation(desc = "活动ID", isIndex = true)
    private int activityId;
    @FieldTypeAnnotation(desc = "是否成功 0 否 1是")
    private int isSuccess;
    @FieldTypeAnnotation(desc = "钓鱼次数")
    private int fishingTime;
    @FieldTypeAnnotation(desc = "消耗前体力")
    private int powerBefore;
    @FieldTypeAnnotation(desc = "消耗体力")
    private int powerUsed;
    @FieldTypeAnnotation(desc = "消耗后体力")
    private int powerAfter;
    @FieldTypeAnnotation(desc = "吊起鱼类和物品",saveJson = true)
    private List<DeepFishingBagItemData> bagItemData;
    @FieldTypeAnnotation(desc = "本次钓鱼生成的事件",saveJson = true)
    private List<Integer> generateEventList;
    @FieldTypeAnnotation(desc = "本次钓鱼触发的事件",saveJson = true)
    private Map<Integer,Integer> eventMap;
    @FieldTypeAnnotation(desc = "本次钓鱼消耗buff",saveJson = true)
    private List<Integer> triggerBuff;
    @FieldTypeAnnotation(desc = "事件宝箱奖励")
    private String boxReward;
    @FieldTypeAnnotation(desc = "事件增加buff奖励")
    private String buffReward;
    @FieldTypeAnnotation(desc = "鱼竿配置",saveJson = true)
    private Map<Integer,Integer> fishingRodParts;
    @FieldTypeAnnotation(desc = "金币奖励")
    private String coinReward;
    @FieldTypeAnnotation(desc = "积分奖励")
    private String scoreReward;
    @FieldTypeAnnotation(desc = "深度")
    private int deep;
    @FieldTypeAnnotation(desc = "时间")
    private Date logTime;

    public LogDeepFishingFishing(long userId, int activityId, int isSuccess, int fishingTime, int powerBefore,
                                 int powerUsed, int powerAfter, List<DeepFishingBagItemData> bagItemData, List<Integer> generateEventList,
                                 Map<Integer,Integer> eventMap, List<Integer> triggerBuff, String boxReward, String buffReward,
                                 Map<Integer, Integer> fishingRodParts, String coinReward, String scoreReward, int deep,Date logTime) {
        this.userId = userId;
        this.activityId = activityId;
        this.isSuccess = isSuccess;
        this.fishingTime = fishingTime;
        this.powerBefore = powerBefore;
        this.powerUsed = powerUsed;
        this.powerAfter = powerAfter;
        this.bagItemData = bagItemData;
        this.generateEventList = generateEventList;
        this.eventMap = eventMap;
        this.triggerBuff = triggerBuff;
        this.boxReward = boxReward;
        this.buffReward = buffReward;
        this.fishingRodParts = fishingRodParts;
        this.coinReward = coinReward;
        this.scoreReward = scoreReward;
        this.deep = deep;
        this.logTime = logTime;
    }

    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        this.userId = userId;
    }

    public int getActivityId() {
        return activityId;
    }

    public void setActivityId(int activityId) {
        this.activityId = activityId;
    }

    public int getIsSuccess() {
        return isSuccess;
    }

    public void setIsSuccess(int isSuccess) {
        this.isSuccess = isSuccess;
    }

    public int getFishingTime() {
        return fishingTime;
    }

    public void setFishingTime(int fishingTime) {
        this.fishingTime = fishingTime;
    }

    public int getPowerBefore() {
        return powerBefore;
    }

    public void setPowerBefore(int powerBefore) {
        this.powerBefore = powerBefore;
    }

    public int getPowerUsed() {
        return powerUsed;
    }

    public void setPowerUsed(int powerUsed) {
        this.powerUsed = powerUsed;
    }

    public int getPowerAfter() {
        return powerAfter;
    }

    public void setPowerAfter(int powerAfter) {
        this.powerAfter = powerAfter;
    }

    public List<DeepFishingBagItemData> getBagItemData() {
        return bagItemData;
    }

    public void setBagItemData(List<DeepFishingBagItemData> bagItemData) {
        this.bagItemData = bagItemData;
    }

    public Map<Integer, Integer> getEventMap() {
        return eventMap;
    }

    public void setEventMap(Map<Integer, Integer> eventMap) {
        this.eventMap = eventMap;
    }

    public List<Integer> getTriggerBuff() {
        return triggerBuff;
    }

    public void setTriggerBuff(List<Integer> triggerBuff) {
        this.triggerBuff = triggerBuff;
    }

    public String getBoxReward() {
        return boxReward;
    }

    public void setBoxReward(String boxReward) {
        this.boxReward = boxReward;
    }

    public String getBuffReward() {
        return buffReward;
    }

    public void setBuffReward(String buffReward) {
        this.buffReward = buffReward;
    }

    public Map<Integer, Integer> getFishingRodParts() {
        return fishingRodParts;
    }

    public void setFishingRodParts(Map<Integer, Integer> fishingRodParts) {
        this.fishingRodParts = fishingRodParts;
    }

    public String getCoinReward() {
        return coinReward;
    }

    public void setCoinReward(String coinReward) {
        this.coinReward = coinReward;
    }

    public String getScoreReward() {
        return scoreReward;
    }

    public void setScoreReward(String scoreReward) {
        this.scoreReward = scoreReward;
    }

    public Date getLogTime() {
        return logTime;
    }

    public void setLogTime(Date logTime) {
        this.logTime = logTime;
    }

    public List<Integer> getGenerateEventList() {
        return generateEventList;
    }

    public void setGenerateEventList(List<Integer> generateEventList) {
        this.generateEventList = generateEventList;
    }

    public int getDeep() {
        return deep;
    }

    public void setDeep(int deep) {
        this.deep = deep;
    }
}
